<?php

namespace App\Http\Controllers\admin;

use Illuminate\Http\Request;

use App\Http\Controllers\Controller;

use DB;

class diliveryController extends Controller
{

    public function index(Request $request)
    {

    	// 保存搜索的条件
    	$where = [];

        // 选择数据库表
    	$db = DB::table('storeDilivery');

        // 判断有没有查询公告标题
    	if ($request->has('DiliveryName')) {

            // 模糊查询
    		$db->where('DiliveryName', 'like', "%{$request->input('DiliveryName')}%");

            // 查询内容
    		$where['DiliveryName'] = $request->input('DiliveryName');

    	}
 
        // 分页
    	$list = $db->paginate(3);
    	
    	return view('admin.dilivery.diliverylist', ['list'=>$list, 'where'=>$where]);

    }

    public function create()
    {

    	return view('admin.dilivery.diliveryadd');

    }

    public function store(Request $request)
    {

        // 自定义错误信息
        $message = [

            'required' => ':attribute 不能为空',

            'unique' => ':attribute 已经存在',

        ];

        //设定验证规则
        $this->validate($request, [

            'DiliveryName' => 'required|unique:storeDilivery',

            'DiliveryContent' => 'required',

        ], $message);

        // 去除token字段名
        $data = $request->except('_token');

        // 将添加的数据插入数据库
       	$id = DB::table('storeDilivery')->insertGetId($data);

        // 判断是否上传成功
        if ($id > 0) {

            return redirect('/dilivery')->with('msg', '添加成功');

        }

    }

    public function destroy($id)
    {

        //执行删除
        $row = DB::table('storeDilivery')->where('DiliveryId', $id)->delete();

        // 判断是否删除成功
        if($row > 0){

            return redirect('/dilivery')->with('msg', '删除成功');

        }

    }

    public function edit($id)
    {

        // 获得数据表storeDilivery中的相应数据
        $list = DB::table('storeDilivery')->where('DiliveryId', $id)->first();

        return view('admin.dilivery.diliveryedit', ['list'=>$list]);

    }

    public function update($id, Request $request)
    {   

        // 自定义错误信息
        $message = [

            'required' => ':attribute 不能为空',

            'unique' => ':attribute 已经存在',

        ];

        //设定验证规则
        $this->validate($request, [

            'DiliveryName' => 'required|unique:storeDilivery',

            'DiliveryContent' => 'required',

        ], $message);

        // 去除token和method字段名
        $data = $request->except('_token', '_method');

        // 执行修改
        $row = DB::table('storeDilivery')->where('DiliveryId', $id)->update($data);

        // 判断是否修改成功
        if ($row > 0) {

            return redirect('/dilivery')->with('msg', '修改成功');

        }

    }

}
